namespace GamFi.Admin.API.Application.Contracts.Chat.UpdateMessage;

/// <summary>
/// Запрос на обновление существующего сообщения в чате
/// </summary>
public class UpdateMessageRequest
{
    /// <summary>
    /// Идентификатор обновляемого сообщения
    /// </summary>
    public Guid MessageId { get; set; }

    /// <summary>
    /// Текст сообщения
    /// </summary>
    public string TextMessage { get; set; } = default!;

    /// <summary>
    /// Идентификатор создателя сообщения
    /// </summary>
    public Guid CreatedBy { get; set; }

    /// <summary>
    /// Дата отправки сообщения
    /// </summary>
    public DateTime CreatedDate { get; set; }

    /// <summary>
    /// Пустой конструктор
    /// </summary>
    public UpdateMessageRequest()
    {
    }

    /// <summary>
    /// Конструктор для создания запроса на обновление сообщения
    /// </summary>
    /// <param name="request">Объект запроса на обновление сообщения</param>
    public UpdateMessageRequest(UpdateMessageRequest request)
    {
        MessageId = request.MessageId;
        TextMessage = request.TextMessage;
        CreatedBy = request.CreatedBy;
        CreatedDate = request.CreatedDate;
    }
}